package com.train.course.mapper;

import com.train.course.domain.VideoCollect;
import java.util.List;

/**
 * 视频收藏Mapper接口
 * 
 * @author ruoyi
 */
public interface VideoCollectMapper 
{
    /**
     * 查询视频收藏
     * 
     * @param collectId 视频收藏主键
     * @return 视频收藏
     */
    public VideoCollect selectVideoCollectById(Long collectId);

    /**
     * 查询视频收藏列表
     * 
     * @param videoCollect 视频收藏
     * @return 视频收藏集合
     */
    public List<VideoCollect> selectVideoCollectList(VideoCollect videoCollect);

    /**
     * 根据用户ID和视频ID查询收藏记录
     * 
     * @param userId 用户ID
     * @param videoId 视频ID
     * @param videoType 视频类型
     * @return 视频收藏
     */
    public VideoCollect selectVideoCollectByUserAndVideo(Long userId, Long videoId, String videoType);

    /**
     * 根据用户ID查询收藏列表
     * 
     * @param userId 用户ID
     * @return 视频收藏集合
     */
    public List<VideoCollect> selectVideoCollectListByUserId(Long userId);

    /**
     * 新增视频收藏
     * 
     * @param videoCollect 视频收藏
     * @return 结果
     */
    public int insertVideoCollect(VideoCollect videoCollect);

    /**
     * 删除视频收藏
     * 
     * @param collectId 视频收藏主键
     * @return 结果
     */
    public int deleteVideoCollectById(Long collectId);

    /**
     * 根据用户ID和视频ID删除收藏记录
     * 
     * @param userId 用户ID
     * @param videoId 视频ID
     * @param videoType 视频类型
     * @return 结果
     */
    public int deleteVideoCollectByUserAndVideo(Long userId, Long videoId, String videoType);

    /**
     * 批量删除视频收藏
     * 
     * @param collectIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteVideoCollectByIds(Long[] collectIds);
}